Universal Serial Bus (USB) is a serial communications architecture that is typically used to provide a personal computer (PC) with the ability to interconnect a variety of USB-enabled devices using a simple four wire cable. These USB devices are categorized into various device classes, including printer, display, communication, audio, mass storage, digital camera, audio player, and human interface. These USB devices are configured as USB clients which must be connected to a USB host in order to utilize the USB interface. The USB host has conventionally been a PC including a USB interface (e.g., a USB hub) and device driver software for various types of USB devices that might be connected.
More recently, network adapters have been provided with USB interfaces. These USB network adapters adapt one network topology to USB in order to allow a PC to connect to the network via the PC's USB interface, rather than via a network adapter or network interface card (NIC) directly coupled to the system's PCI bus. Two common USB network adapters are USB-to-Ethernet client adapters, which allow a USB host (e.g., a PC) to connect to an Ethernet device (e.g., a router), and USB-to-wireless client adapters, which allow a USB host (e.g., a PC) to connect to a wireless device (e.g., an IEEE 802.11 wireless access point).
In addition, USB host systems have been developed for embedded systems. However, these embedded USB host systems have been single-use type systems, such as print servers and set-top boxes. Thus, the software provided on the embedded USB host system is customized for a particular product or a particular class of products, thus reducing the complexity of the system.
However, these prior art system do not provide a configurable mechanism for connecting a USB client device to a network without the use of a PC serving as the USB host.